// Package utils
// @Author: zhangdi
// @File: ternary
// @Version: 1.0.0
// @Date: 2023/11/28 14:08
package ifthen

// Int 模拟三元运算符，返回int类型
func Int(condition bool, trueValue, falseValue int) int {
	if condition {
		return trueValue
	}
	return falseValue
}

// Bool 模拟三元运算符，返回bool类型
func Bool(condition bool, trueValue, falseValue bool) bool {
	if condition {
		return trueValue
	}
	return falseValue
}

// String 模拟三元运算符，返回string类型
func String(condition bool, trueValue, falseValue string) string {
	if condition {
		return trueValue
	}
	return falseValue
}

// Uint 模拟三元运算符，返回uint类型
func Uint(condition bool, trueValue, falseValue uint) uint {
	if condition {
		return trueValue
	}
	return falseValue
}

// Int8 模拟三元运算符，返回int8类型
func Int8(condition bool, trueValue, falseValue int8) int8 {
	if condition {
		return trueValue
	}
	return falseValue
}

// Uint8 模拟三元运算符，返回uint8类型
func Uint8(condition bool, trueValue, falseValue uint8) uint8 {
	if condition {
		return trueValue
	}
	return falseValue
}

// Int16 模拟三元运算符，返回int16类型
func Int16(condition bool, trueValue, falseValue int16) int16 {
	if condition {
		return trueValue
	}
	return falseValue
}

// Uint16 模拟三元运算符，返回uint16类型
func Uint16(condition bool, trueValue, falseValue uint16) uint16 {
	if condition {
		return trueValue
	}
	return falseValue
}

// Int32 模拟三元运算符，返回int32类型
func Int32(condition bool, trueValue, falseValue int32) int32 {
	if condition {
		return trueValue
	}
	return falseValue
}

// Uint32 模拟三元运算符，返回uint32类型
func Uint32(condition bool, trueValue, falseValue uint32) uint32 {
	if condition {
		return trueValue
	}
	return falseValue
}

// Int64 模拟三元运算符，返回int64类型
func Int64(condition bool, trueValue, falseValue int64) int64 {
	if condition {
		return trueValue
	}
	return falseValue
}

// Uint64 模拟三元运算符，返回uint64类型
func Uint64(condition bool, trueValue, falseValue uint64) uint64 {
	if condition {
		return trueValue
	}
	return falseValue
}

// Float32 模拟三元运算符，返回float32类型
func Float32(condition bool, trueValue, falseValue float32) float32 {
	if condition {
		return trueValue
	}
	return falseValue
}

// Float64 模拟三元运算符，返回float64类型
func Float64(condition bool, trueValue, falseValue float64) float64 {
	if condition {
		return trueValue
	}
	return falseValue
}

// Slice 模拟三元运算符，返回[]interface{}类型
//func Slice(condition bool, trueValue, falseValue []interface{}) []interface{} {
//	ternary condition {
//		return trueValue
//	}
//	return falseValue
//}

// Map 模拟三元运算符，返回map[string]interface{}类型
//func MapStringAny(condition bool, trueValue, falseValue map[string]interface{}) map[string]interface{} {
//	ternary condition {
//		return trueValue
//	}
//	return falseValue
//}
